#pragma once

#include "WorldObject.h"
#include "IAnimated.h"

class World;

/**
*  Enumeration with defined ferris wheel types
*  Used in Tree object to get specific Model3D
*/

enum EFerrisWheelType
  {
  FWT_DEFAULT_FERRIS_WHEEL
  };

class FerrisWheel: public WorldObject, public IAnimated
  {
  public:
    HSMODEL_API FerrisWheel (World& i_world, EFerrisWheelType i_type);
    HSMODEL_API virtual void NextFrame() override;
    HSMODEL_API virtual std::string GetName() const override;
    HSMODEL_API ~FerrisWheel();
  private:
    World &m_world;
    size_t m_state;
  };